perm filename SERTST.SAI[SYS,HE] blob
sn#053150 filedate 1973-07-19 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN "SERTST"
C00005 00003 IF INCHWL="Y" THEN STATUS ← STATUS LOR LREAD ELSE
C00007 ENDMK
C⊗;
BEGIN "SERTST"
REQUIRE "HELIB[1,3]" LIBRARY;
EXTERNAL INTEGER TSERVO, STATUS, LENS;
EXTERNAL REAL P1, P2, P3, L1, L2, L3, CREF;
DEFINE CRLF="'15&'12", DONE="1", RUN="2", READ="4", SERVO="'10",
CLENS="'20", LREAD="'40", MISS="'100", ADH="'200", LHANG="'400",
FHANG="'1000", THANG="'2000", PHANG="'4000", GHANG="'10000",
CONFL="'100000";
PRELOAD_WITH "DONE","RUN","READ","SERVO","CLENS","LREAD","MISS","ADH",
"LHANG","FHANG","THANG","PHANG","GHANG","CONFL";
SAFE STRING ARRAY FLAG_NAMES[1:14];
STRING INP;
INTEGER I,J,K;
LABEL JUMP, LOOP;
EXTERNAL PROCEDURE SPWON(INTEGER TICK;REFERENCE INTEGER LOC);
EXTERNAL PROCEDURE SPWOFF;
SPWOFF;
SETFORMAT(10,4);
STATUS ← READ+LREAD;
GO JUMP;
LOOP: OUTSTR("READ POTS? ");
STATUS ← 0;
IF INCHWL="Y" THEN STATUS ← STATUS LOR READ ELSE
BEGIN "POTS";
OUTSTR("CHANGE POTS? ");
IF INCHWL="Y" THEN
BEGIN "POTCHG"
OUTSTR("FOCUS POT="&CVF(L1*CREF)&" =");
INP ← INCHWL;
IF LENGTH(INP) THEN L1←REALSCAN(INP,J)/CREF;
OUTSTR("TILT POT="&CVF(L2*CREF)&" =");
INP ← INCHWL;
IF LENGTH(INP) THEN L2←REALSCAN(INP,J)/CREF;
OUTSTR("PAN POT="&CVF(L3*CREF)&" =");
INP ← INCHWL;
IF LENGTH(INP) THEN L3←REALSCAN(INP,J)/CREF;
STATUS ← STATUS LOR SERVO;
END "POTCHG";
END "POTS";
OUTSTR("READ LENS? ");
IF INCHWL="Y" THEN STATUS ← STATUS LOR LREAD ELSE
BEGIN "LENS"
OUTSTR("CHANGE LENS? ");
IF INCHWL="Y" THEN
BEGIN "LENCHG"
OUTSTR("LENS=" );
LENS ← CVD(INCHWL);
STATUS ← STATUS LOR CLENS;
END "LENCHG";
END "LENS";
JUMP: SPWON(1,TSERVO);
WHILE ¬(STATUS LAND DONE) DO;
SPWOFF;
OUTSTR( "FOCUS = "&CVS(P1*CREF)&
" TILT = "&CVS(P2*CREF)&
" PAN = "&CVS(P3*CREF)&CRLF&
"FOCR = "&CVF(P1)&
" TILTR = "&CVF(P2)&
" PANR = "&CVF(P3)&CRLF&
"LENS = "&CVS(LENS)&
" REF = "&CVS(CREF)&CRLF&CRLF);
INP ← NULL;
FOR I ← 1 STEP 1 UNTIL 14 DO
BEGIN "STATUS"
IF STATUS LAND 1 THEN INP ← INP&" + "&FLAG_NAMES[I];
STATUS ← STATUS LSH -1;
END "STATUS";
IF LENGTH(INP)>3 THEN INP ← INP[4 TO ∞];
OUTSTR("STATUS = "&INP&CRLF&CRLF);
L1 ← P1;
L2 ← P2;
L3 ← P3;
GO LOOP;
END;